/**
 * 传输对象模式：简化网络传输中的大量数据交换。
 * 
 * 示例需求：
 * 创建一个作为业务对象的 StudentBO 和作为传输对象的 StudentVO，它们都代表了我们的实体。
 * Simple类在这里是作为一个客户端，将使用 StudentBO 和 Student 来演示传输对象设计模式。
 * 
 * 角色：
 * 传输对象：StudentVO
 * 客户端：SimpleMain
 * 业务逻辑层：StudentBO
 */
public class SimpleMain {
    public static void main(String[] args) {
        StudentBO studentBusinessObject = new StudentBO();

        // 输出所有的学生
        for (StudentVO student : studentBusinessObject.getAllStudents()) {
            System.out.println("Student: [RollNo : "
                    + student.getRollNo() + ", Name : " + student.getName() + " ]");
        }

        // 更新学生
        StudentVO student = studentBusinessObject.getAllStudents().get(0);
        student.setName("Michael");
        studentBusinessObject.updateStudent(student);

        // 获取学生
        studentBusinessObject.getStudent(0);
        System.out.println("Student: [RollNo : "
                + student.getRollNo() + ", Name : " + student.getName() + " ]");
    }
}
